package com.bot.dev.api;

import com.bot.common.chainbo.ChainAccountInfo;
import com.bot.common.chainbo.TradingResultsInfo;


public interface DevBlockChainApi {

    /**
     * 创建链账户
     *
     * @return
     */
    public ChainAccountInfo creatBlockChain();

    /**
     * 创建NFT类别
     *
     * @param chainAccountInfo
     * @return
     */
    public String creatNftClass(ChainAccountInfo chainAccountInfo);

    /**
     * 发行NFT
     *
     * @param
     * @return
     */
    public String publishNft(ChainAccountInfo chainAccountInfo);

    /**
     * 转让NFT
     *
     * @param nftChainId   藏品链上标识
     * @param certChainId  藏品证书链上标识标识
     * @param ownerChainId 持有人链上标识
     * @param recChainId   接收人链上标识标识
     * @return 成功失败
     */
    public String makeOverNft(String nftChainId, String certChainId, String ownerChainId, String recChainId);

    /**
     * 销毁NFT
     *
     * @param classId  类别 ID
     * @param owner    NFT 持有者地址
     * @param nftIdDev NFT ID
     * @return
     */
    public String disNft(String classId, String owner, String nftIdDev);


    public TradingResultsInfo queryTranRecords(String operationId);


}
